package redis

import (
	"github.com/redis/go-redis/v9"
)

const (
	KeepTTL     = redis.KeepTTL
	Nil         = redis.Nil
	TxFailedErr = redis.TxFailedErr
)

type (
	ClusterOptions             = redis.ClusterOptions
	ClusterClient              = redis.ClusterClient
	Cmder                      = redis.Cmder
	Cmd                        = redis.Cmd
	SliceCmd                   = redis.SliceCmd
	StatusCmd                  = redis.StatusCmd
	IntCmd                     = redis.IntCmd
	IntSliceCmd                = redis.IntSliceCmd
	DurationCmd                = redis.DurationCmd
	TimeCmd                    = redis.TimeCmd
	BoolCmd                    = redis.BoolCmd
	StringCmd                  = redis.StringCmd
	FloatCmd                   = redis.FloatCmd
	FloatSliceCmd              = redis.FloatSliceCmd
	StringSliceCmd             = redis.StringSliceCmd
	KeyValue                   = redis.KeyValue
	KeyValueSliceCmd           = redis.KeyValueSliceCmd
	BoolSliceCmd               = redis.BoolSliceCmd
	MapStringStringCmd         = redis.MapStringStringCmd
	MapStringIntCmd            = redis.MapStringIntCmd
	StringStructMapCmd         = redis.StringStructMapCmd
	XMessage                   = redis.XMessage
	XMessageSliceCmd           = redis.XMessageSliceCmd
	XStream                    = redis.XStream
	XStreamSliceCmd            = redis.XStreamSliceCmd
	XPending                   = redis.XPending
	XPendingCmd                = redis.XPendingCmd
	XPendingExt                = redis.XPendingExt
	XPendingExtCmd             = redis.XPendingExtCmd
	XAutoClaimCmd              = redis.XAutoClaimCmd
	XAutoClaimJustIDCmd        = redis.XAutoClaimJustIDCmd
	XInfoConsumersCmd          = redis.XInfoConsumersCmd
	XInfoConsumer              = redis.XInfoConsumer
	XInfoGroupsCmd             = redis.XInfoGroupsCmd
	XInfoGroup                 = redis.XInfoGroup
	XInfoStreamCmd             = redis.XInfoStreamCmd
	XInfoStream                = redis.XInfoStream
	XInfoStreamFullCmd         = redis.XInfoStreamFullCmd
	XInfoStreamFull            = redis.XInfoStreamFull
	XInfoStreamGroup           = redis.XInfoStreamGroup
	XInfoStreamGroupPending    = redis.XInfoStreamGroupPending
	XInfoStreamConsumer        = redis.XInfoStreamConsumer
	XInfoStreamConsumerPending = redis.XInfoStreamConsumerPending
	ZSliceCmd                  = redis.ZSliceCmd
	ZWithKeyCmd                = redis.ZWithKeyCmd
	ScanCmd                    = redis.ScanCmd
	ClusterNode                = redis.ClusterNode
	ClusterSlot                = redis.ClusterSlot
	ClusterSlotsCmd            = redis.ClusterSlotsCmd
	GeoLocation                = redis.GeoLocation
	GeoRadiusQuery             = redis.GeoRadiusQuery
	GeoLocationCmd             = redis.GeoLocationCmd
	GeoSearchQuery             = redis.GeoSearchQuery
	GeoSearchLocationQuery     = redis.GeoSearchLocationQuery
	GeoSearchStoreQuery        = redis.GeoSearchStoreQuery
	GeoSearchLocationCmd       = redis.GeoSearchLocationCmd
	GeoPos                     = redis.GeoPos
	GeoPosCmd                  = redis.GeoPosCmd
	CommandInfo                = redis.CommandInfo
	CommandsInfoCmd            = redis.CommandsInfoCmd
	SlowLog                    = redis.SlowLog
	SlowLogCmd                 = redis.SlowLogCmd
	MapStringInterfaceCmd      = redis.MapStringInterfaceCmd
	MapStringStringSliceCmd    = redis.MapStringStringSliceCmd
	Cmdable                    = redis.Cmdable
	StatefulCmdable            = redis.StatefulCmdable
	Sort                       = redis.Sort
	SetArgs                    = redis.SetArgs
	BitCount                   = redis.BitCount
	LPosArgs                   = redis.LPosArgs
	XAddArgs                   = redis.XAddArgs
	XReadArgs                  = redis.XReadArgs
	XReadGroupArgs             = redis.XReadGroupArgs
	XPendingExtArgs            = redis.XPendingExtArgs
	XAutoClaimArgs             = redis.XAutoClaimArgs
	XClaimArgs                 = redis.XClaimArgs
	Z                          = redis.Z
	ZWithKey                   = redis.ZWithKey
	ZStore                     = redis.ZStore
	ZAddArgs                   = redis.ZAddArgs
	ZRangeArgs                 = redis.ZRangeArgs
	ZRangeBy                   = redis.ZRangeBy
	Error                      = redis.Error
	ScanIterator               = redis.ScanIterator
	Limiter                    = redis.Limiter
	Options                    = redis.Options
	Pipeliner                  = redis.Pipeliner
	Pipeline                   = redis.Pipeline
	PubSub                     = redis.PubSub
	Subscription               = redis.Subscription
	Message                    = redis.Message
	Pong                       = redis.Pong
	ChannelOption              = redis.ChannelOption
	Scanner                    = redis.Scanner
	Hook                       = redis.Hook
	DialHook                   = redis.DialHook
	ProcessHook                = redis.ProcessHook
	ProcessPipelineHook        = redis.ProcessPipelineHook
	Client                     = redis.Client
	PoolStats                  = redis.PoolStats
	Conn                       = redis.Conn
	ConsistentHash             = redis.ConsistentHash
	RingOptions                = redis.RingOptions
	Ring                       = redis.Ring
	Scripter                   = redis.Scripter
	Script                     = redis.Script
	FailoverOptions            = redis.FailoverOptions
	SentinelClient             = redis.SentinelClient
	Tx                         = redis.Tx
	UniversalOptions           = redis.UniversalOptions
	UniversalClient            = redis.UniversalClient
)

var (
	ErrClosed = redis.ErrClosed

	ParseClusterURL                = redis.ParseClusterURL
	NewClusterClient               = redis.NewClusterClient
	NewCmd                         = redis.NewCmd
	NewSliceCmd                    = redis.NewSliceCmd
	NewStatusCmd                   = redis.NewStatusCmd
	NewIntCmd                      = redis.NewIntCmd
	NewIntSliceCmd                 = redis.NewIntSliceCmd
	NewDurationCmd                 = redis.NewDurationCmd
	NewTimeCmd                     = redis.NewTimeCmd
	NewBoolCmd                     = redis.NewBoolCmd
	NewStringCmd                   = redis.NewStringCmd
	NewFloatCmd                    = redis.NewFloatCmd
	NewFloatSliceCmd               = redis.NewFloatSliceCmd
	NewStringSliceCmd              = redis.NewStringSliceCmd
	NewKeyValueSliceCmd            = redis.NewKeyValueSliceCmd
	NewBoolSliceCmd                = redis.NewBoolSliceCmd
	NewMapStringStringCmd          = redis.NewMapStringStringCmd
	NewMapStringIntCmd             = redis.NewMapStringIntCmd
	NewStringStructMapCmd          = redis.NewStringStructMapCmd
	NewXMessageSliceCmd            = redis.NewXMessageSliceCmd
	NewXStreamSliceCmd             = redis.NewXStreamSliceCmd
	NewXPendingCmd                 = redis.NewXPendingCmd
	NewXPendingExtCmd              = redis.NewXPendingExtCmd
	NewXAutoClaimCmd               = redis.NewXAutoClaimCmd
	NewXAutoClaimJustIDCmd         = redis.NewXAutoClaimJustIDCmd
	NewXInfoConsumersCmd           = redis.NewXInfoConsumersCmd
	NewXInfoGroupsCmd              = redis.NewXInfoGroupsCmd
	NewXInfoStreamCmd              = redis.NewXInfoStreamCmd
	NewXInfoStreamFullCmd          = redis.NewXInfoStreamFullCmd
	NewZSliceCmd                   = redis.NewZSliceCmd
	NewZWithKeyCmd                 = redis.NewZWithKeyCmd
	NewScanCmd                     = redis.NewScanCmd
	NewClusterSlotsCmd             = redis.NewClusterSlotsCmd
	NewGeoLocationCmd              = redis.NewGeoLocationCmd
	NewGeoSearchLocationCmd        = redis.NewGeoSearchLocationCmd
	NewGeoPosCmd                   = redis.NewGeoPosCmd
	NewCommandsInfoCmd             = redis.NewCommandsInfoCmd
	NewSlowLogCmd                  = redis.NewSlowLogCmd
	NewMapStringInterfaceCmd       = redis.NewMapStringInterfaceCmd
	NewMapStringStringSliceCmd     = redis.NewMapStringStringSliceCmd
	HasErrorPrefix                 = redis.HasErrorPrefix
	NewDialer                      = redis.NewDialer
	ParseURL                       = redis.ParseURL
	WithChannelSize                = redis.WithChannelSize
	WithChannelHealthCheckInterval = redis.WithChannelHealthCheckInterval
	WithChannelSendTimeout         = redis.WithChannelSendTimeout
	SetLogger                      = redis.SetLogger
	NewClient                      = redis.NewClient
	NewCmdResult                   = redis.NewCmdResult
	NewSliceResult                 = redis.NewSliceResult
	NewStatusResult                = redis.NewStatusResult
	NewIntResult                   = redis.NewIntResult
	NewDurationResult              = redis.NewDurationResult
	NewBoolResult                  = redis.NewBoolResult
	NewStringResult                = redis.NewStringResult
	NewFloatResult                 = redis.NewFloatResult
	NewStringSliceResult           = redis.NewStringSliceResult
	NewBoolSliceResult             = redis.NewBoolSliceResult
	NewMapStringStringResult       = redis.NewMapStringStringResult
	NewMapStringIntCmdResult       = redis.NewMapStringIntCmdResult
	NewTimeCmdResult               = redis.NewTimeCmdResult
	NewZSliceCmdResult             = redis.NewZSliceCmdResult
	NewZWithKeyCmdResult           = redis.NewZWithKeyCmdResult
	NewScanCmdResult               = redis.NewScanCmdResult
	NewClusterSlotsCmdResult       = redis.NewClusterSlotsCmdResult
	NewGeoLocationCmdResult        = redis.NewGeoLocationCmdResult
	NewGeoPosCmdResult             = redis.NewGeoPosCmdResult
	NewCommandsInfoCmdResult       = redis.NewCommandsInfoCmdResult
	NewXMessageSliceCmdResult      = redis.NewXMessageSliceCmdResult
	NewXStreamSliceCmdResult       = redis.NewXStreamSliceCmdResult
	NewXPendingResult              = redis.NewXPendingResult
	NewRing                        = redis.NewRing
	NewScript                      = redis.NewScript
	NewFailoverClient              = redis.NewFailoverClient
	NewSentinelClient              = redis.NewSentinelClient
	NewFailoverClusterClient       = redis.NewFailoverClusterClient
	NewUniversalClient             = redis.NewUniversalClient
	Version                        = redis.Version
)
